#ifndef FFGUTS_H
#define FFGUTS_H

#include "slotguts.h"

class FoodFightSlotGuts : public SlotGuts
{
	public:
        virtual int32 getMaxAggregate();
		virtual void playBonusGame(uint8 bonusGameType, int32 bonusDataCount, int32 *bonusData);
	    virtual void classifyScatters(SlotSpin *spin);
		virtual bool8 saveGame();
		virtual bool8 isGameComplete();
		/**
         * @brief Whether this game uses saved games.
         */
        virtual bool8 hasSavedGames(){return true;};


	protected:

		void initializeFoodFight();
        virtual bool8 isValidGuts();
		uint8 classifyStops(uint8 *, uint8, uint8);
		bool8 haveBonusGame;
		bool8 readytofinish;

		#ifdef DEBUGSPIN
		virtual void Debug_SetLoserStops( uint8* pStops );
		#endif

        virtual SlotSpin *makeJackpot();
		int32 totalBet;
		int32 numGoodPicks;
		int64 currentGameNum;

        enum SUBGAMEDEFS
        {
            SGLOSERPICKED = -10,
			SGNOTPICKED = -1,
			BGNONE = 0,
			BGICECREAM = 1,
			BGFOODFIGHT = 2
        };
        
        enum SUBGAMEIDX
        {
			SGIDX_BONUSGAME,
			SGIDX_ICCONEY,
			SGIDX_ICSCOOPY,
			SGIDX_ICTOPY,
            SGIDX_ICVALUE,
			SGIDX_FFTARGETONE,
			SGIDX_FFTARGETTWO,
			SGIDX_FFTARGETTHREE,
			SGIDX_FFTARGETFOUR,
			SGIDX_FFTARGETFIVE,
            SGIDX_FFPICKONE,
            SGIDX_FFVALUEONE,
            SGIDX_FFPICKTWO,
            SGIDX_FFVALUETWO,
            SGIDX_FFPICKTHREE,
            SGIDX_FFVALUETHREE,
			SGIDX_FFPICKFOUR,
			SGIDX_FFVALUEFOUR,
			SGIDX_FFPICKFIVE,
			SGIDX_FFVALUEFIVE,
			SGIDX_NUMGOODPICKS,
			SGIDX_ISDONE,
            SG_SZ,
        };


};

#endif


